package ftdpc.bean;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.concurrent.TimeUnit;

/**
 * 类描述:  任务属性描述
 *
 * @author 王雷
 * @version 1.0.0
 * @date 2022/9/10 0010 下午 1:04
 */
@Data
@ToString
@Accessors(chain = true)
@EqualsAndHashCode(of = {"taskKey"})
public class TaskItem implements Serializable {

    private static final long serialVersionUID = -5465197658519205983L;
    /**
     * 属性描述：任务标识
     *
     * @date : 2022/9/10 0010 下午 1:05
     */
    private String taskKey;

    /**
     * 属性描述：任务名称
     *
     * @date : 2022/9/10 0010 下午 1:10
     */
    private String taskName;

    /**
     * 属性描述：执行周期
     * <br />
     * Cron表达式
     *
     * @date : 2022/9/10 0010 下午 1:12
     */
    private String executionCycleByCron;

    /**
     * 属性描述：执行间隔
     *
     * @date : 2022/9/10 0010 下午 1:12
     */
    private Long executionCycleByInterval;

    /**
     * 属性描述：最大执行次数
     *
     * @date : 2022/9/10 0010 下午 1:12
     */
    private Long maxExecuteNumSize;

    /**
     * 属性描述：执行间隔单位
     *
     * @date : 2022/9/10 0010 下午 1:12
     */
    private TimeUnit executionCycleByIntervalUnit;

    /**
     * 属性描述：执行目标
     *
     * @date : 2022/9/10 0010 下午 1:17
     */
    private String taskExecutionTarget;

    /**
     * 属性描述：是否自动运行
     *
     * @date : 2022/9/10 0010 下午 1:17
     */
    private Boolean taskIsAutoRun;
}
